This invention relates to a method for controlling the traveling path of a robot during its acceleration and deceleration stages and, more particularly, a method in generating a speed command for smoothly operating each shaft of a robot and for reducing the time a robot takes to produce the speed command.
In general, a robot has a plurality of shafts(commonly called "arms"). A servo motor is mounted on each of the robot's shafts. A main controller detects the operating speed of the servo motor and controls the servo motor with a control command based on the operating speed data. As stated above, the robot performs the assigned work.
In other words,in order to perform the assigned work, robot moves an end effector (normally, when a robot is operating, a working tool is inserted into the end effector) mounted on the end sector of a robot arm from one specified position to another specified position. To accomplish this, the servo motor mounted on each shaft is driven.
A method for controlling the traveling path of a robot during the acceleration and deceleration stages means than the main controller yields speed commands by the given acceleration/deceleration time, the given maximum speed axed the given distance and thereby controls the robot with the speed commands. If the produced values of the speed commands change suddenly, the robot starts and stops abruptly at the drive start point and end point, respectively. Accordingly, the robot receives mechanical impulses at each drive point.
If a rectangular-type acceleration/deceleration speed command as shown in FIG. 1 or a linear-type acceleration/deceleration speed command as shown in FIG. 2 is given, because there is a portion at which the acceleration varies abruptly and irregularly, the robot starts and stops abruptly, so that its body is subjected to an unreasonable excessive force.
In order to prevent this unreasonable force, a speed command for controlling the robot with smooth acceleration and deceleration is needed.
A prior-art apparatus for producing smooth acceleration/deceleration speed commands with hardware is showing in FIG. 4. In FIG. 4, shift registers 20a-20n store drive path components. The drive path components move from one shift register to the next. Multipliers 30a-30n multiply the data stored in the shift registers 20a-20n by coefficients a1-an. An adder 40 totals the results of the multiplier 30. The divider 50 divides the result obtained by the adder 40 by the sum of the coefficients a1-an. The speed command obtained through the process described above is calculated as follows:
At each sampling time, the speed commands are ##EQU1##
If the equation (1) is normalized with .SIGMA.a.sub.p =1, ##EQU2## is obtained.
Accordingly, if each value of a.sub.p is different in the equations (1) and (2), many multiplying and adding arithmetic operations are needed in order to calculate the traveling distance for each sampling time, so it takes a long time to control the robot and its hardware is complicated.
A typical prior-art for controlling the acceleration and deceleration stage is disclosed at Japanese Laid Number Sho 62-190505.
This invention utilizes previous interpolation position data for controlling the continuous traveling path, stores the data in a memory portion and controls the robot by using the stored data. It controls the robot path with the interpolation position data at each interpolation point thereby attaining very precise control. Also, it differs from the present invention in its ability to control a robot with a smooth phase of acceleration and deceleration.
Accordingly, the present invention was invented to solve this problem and an object of the present invention is to supply a method for controlling the drive path of a robot with speed commands making acceleration and deceleration smooth.
Another object of the present invention is to provide a method for controlling the drive path of a robot which will greatly reduce the time required to produce speed commands which make the acceleration and deceleration stages smooth.
In order to achieve the above-stated objects, a method according to the present invention stores previously yielded ratios of smooth acceleration/deceleration speed commands to linear acceleration/deceleration speed commands stored in the memory portion, produces a linear acceleration/deceleration speed command for every sampling time and multiplying the result by said recorded ratios to a servo motor and thereby performing a smooth acceleration/deceleration.